<ProjectManagement.DataAccess xmlns:mapping="urn:xmd-mapping" xmlns:typing="urn:xmd-typing">

        <Employee>
                <typing:entity type="ProjectManagement.DataAccess.Employee, ProjectManagement.DataAccess" />
                <mapping:entity class="Eldorado.Object.Relational.PolymorphicEntityTableFactory, Eldorado.Object" table="Employee">
                        <mapping:key class="Eldorado.Object.Relational.GuidKeyFactory, Eldorado.Object" PrimaryKey="EmployeeId" classId="1" KeyManager="Eldorado.Object.Relational.SuffixKeyManager, Eldorado.Object"/>
                </mapping:entity>
                
                <Name>
                        <typing:property type="System.String" />
                        <mapping:property />
                </Name>

                <BirthDate>
                        <typing:property type="System.DateTime" />
                        <mapping:property />
                </BirthDate>
                
                <Projects>
                        <typing:reference type="ProjectManagement.DataAccess.Project, ProjectManagement.DataAccess" multiplicity="*" parent="Members"/>
                        <mapping:reference class="Eldorado.Object.Relational.InverseReferenceFactory, Eldorado.Object" />
                </Projects>
         </Employee>
         
        <Manager>
                <typing:entity type="ProjectManagement.DataAccess.Manager, ProjectManagement.DataAccess" parent="ProjectManagement.DataAccess.Employee, ProjectManagement.DataAccess"/>
                <mapping:entity class="Eldorado.Object.Relational.EntityTableFactory, Eldorado.Object" table="Manager">
                        <mapping:key class="Eldorado.Object.Relational.GuidKeyFactory, Eldorado.Object" PrimaryKey="ManagerId" classId="2"/>
                </mapping:entity>
                
                <Name>
                        <typing:property type="System.String" />
                        <mapping:property />
                </Name>

                <BirthDate>
                        <typing:property type="System.DateTime" />
                        <mapping:property />
                </BirthDate>
                
                <Projects>
                        <typing:reference type="ProjectManagement.DataAccess.Project, ProjectManagement.DataAccess" multiplicity="*" parent="Members"/>
                        <mapping:reference class="Eldorado.Object.Relational.InverseReferenceFactory, Eldorado.Object" />
                </Projects>
                
                <Title>
                        <typing:property type="System.String" />
                        <mapping:property />
                </Title>
                
                <ManagedProjects>
                        <typing:reference type="ProjectManagement.DataAccess.Project, ProjectManagement.DataAccess" multiplicity="*" parent="Manager"/>
                        <mapping:reference class="Eldorado.Object.Relational.InverseReferenceFactory, Eldorado.Object" />
                </ManagedProjects>
         </Manager>
         
        <Project>
                <typing:entity type="ProjectManagement.DataAccess.Project, ProjectManagement.DataAccess" />
                <mapping:entity class="Eldorado.Object.Relational.EntityTableFactory, Eldorado.Object" table="Project">
                        <mapping:key class="Eldorado.Object.Relational.GuidKeyFactory, Eldorado.Object" PrimaryKey="ProjectId" classId="3"/>
                </mapping:entity>
                
                <Name>
                        <typing:property type="System.String" />
                        <mapping:property column="ProjectName"/>
                </Name>
                
                <Budget>
                        <typing:property type="System.Decimal" />
                        <mapping:property />
                </Budget>
                
                <Manager>
                        <typing:reference type="ProjectManagement.DataAccess.Manager, ProjectManagement.DataAccess" multiplicity="1" />
                        <mapping:reference class="Eldorado.Object.Relational.ForeignKeyFactory, Eldorado.Object" foreign-key="ManagedBy" type="System.String"/>
                </Manager>
                
                <Members>
                        <typing:reference type="ProjectManagement.DataAccess.Employee, ProjectManagement.DataAccess" multiplicity="*" />
                        <mapping:reference class="Eldorado.Object.Relational.LookupTableFactory, Eldorado.Object" source-foreign-key="Members" target-foreign-key="WorksIn" table-name="Members_WorksIn" />
                </Members>
         </Project>

</ProjectManagement.DataAccess>